﻿Imports System.Data

Partial Class Interfaz_frmBusClientes
    Inherits System.Web.UI.Page
    Dim CL As New ControladorLogica
    Dim dtDatos As New DataTable
    Dim dataset As New DataSet
    Dim data As New DataTable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If CL.visibilidadesFormsInternos("Busqueda", Session("user").ToString) = False Then
            Response.Redirect("Index.aspx")
        End If
        Dim arrayPersona As ArrayList
        Dim i As Integer
        arrayPersona = CL.obtenerEmpleado()

        If Not Page.IsPostBack Then
            For i = 0 To arrayPersona.Count - 1
                DropRut.Items.Add(DirectCast(arrayPersona.Item(i), Empleado).Rut)
            Next
        End If

        If Session("busquedaEmpleado") Is Nothing Then
            Session("busquedaEmpleado") = dtDatos
        Else
            dtDatos = DirectCast(Session("busquedaEmpleado"), DataTable)
        End If

        If Not Page.IsPostBack Then
            Try
                dtDatos.Columns.Add(New DataColumn("RUT"))
                dtDatos.Columns.Add(New DataColumn("EDAD"))
                dtDatos.Columns.Add(New DataColumn("FECHAINICIOEMPRESA"))
                dtDatos.Columns.Add(New DataColumn("FECHAFINEMPRESA"))
                dtDatos.Columns.Add(New DataColumn("NOMBRE"))
                dtDatos.Columns.Add(New DataColumn("APELLIDO"))
                dtDatos.Columns.Add(New DataColumn("DIRECCION"))
                dtDatos.Columns.Add(New DataColumn("TELEFONO"))
                dtDatos.Columns.Add(New DataColumn("PROFESION"))

                Me.GridPersonal.DataBind()
                Me.GridPersonal.DataSource = Me.dtDatos
            Catch
            End Try
        End If
        'Me.GridActividad.data.DataBind()
        Me.GridPersonal.DataSource = Me.dtDatos
    End Sub

#Region "funciones"
    Public Sub Mensaje(ByVal msg As String)
        Dim alertScript As String = "<script language=JavaScript runat=server>"
        alertScript &= "alert('" & msg & "');"
        alertScript &= "</script>"
        ClientScript.RegisterClientScriptBlock(Page.GetType(), "clientScrip", alertScript)
    End Sub

    Private Sub buscar()

        Dim ArrayEmpleado As ArrayList
        Dim i As Integer
        Dim query As String

        'Busqueda por rut
        If Me.RD1.Checked = True Then
            query = "select * from empleado where rut ='" + DropRut.SelectedItem.Value + "'"
            ArrayEmpleado = CL.obtenerEmpleado(query)
        Else
            'Busqueda por nombre
            If Me.RD2.Checked = True Then
                query = "select * from empleado where nombre ='" + Me.TxTnombre.Text + "'"
                ArrayEmpleado = CL.obtenerEmpleado(query)
            Else
                'Busqueda por apellido
                If Me.RD3.Checked = True Then
                    query = "select * from empleado where apellido ='" + Me.TxTApellido.Text + "'"
                    ArrayEmpleado = CL.obtenerEmpleado(query)
                Else
                    query = "select * from empleado"
                    ArrayEmpleado = CL.obtenerEmpleado(query)
                End If

            End If
        End If

        Try

            For i = 0 To ArrayEmpleado.Count - 1

                Dim drDatos As DataRow = dtDatos.NewRow
                drDatos.Item("RUT") = DirectCast(ArrayEmpleado.Item(i), Empleado).Rut
                drDatos.Item("EDAD") = DirectCast(ArrayEmpleado.Item(i), Empleado).Edad
                drDatos.Item("FECHAINICIOEMPRESA") = DirectCast(ArrayEmpleado.Item(i), Empleado).FechaInicioEmpresa
                drDatos.Item("FECHAFINEMPRESA") = DirectCast(ArrayEmpleado.Item(i), Empleado).FechaFinEmpresa
                drDatos.Item("NOMBRE") = DirectCast(ArrayEmpleado.Item(i), Empleado).Nombre
                drDatos.Item("APELLIDO") = DirectCast(ArrayEmpleado.Item(i), Empleado).Apellido
                drDatos.Item("DIRECCION") = DirectCast(ArrayEmpleado.Item(i), Empleado).Direccion
                drDatos.Item("TELEFONO") = DirectCast(ArrayEmpleado.Item(i), Empleado).Telefono
                drDatos.Item("PROFESION") = DirectCast(ArrayEmpleado.Item(i), Empleado).Profesion

                dtDatos.Rows.Add(drDatos)
            Next
            Me.GridPersonal.DataSource = dtDatos
            Me.GridPersonal.DataBind()
            Me.GridPersonal.ForeColor = Drawing.Color.Blue

        Catch ex As Exception
            Me.Mensaje(ex.ToString)
        End Try
    End Sub

    Private Sub vaciaGrid()
        data = DirectCast(Session("busquedaEmpleado"), DataTable)
        If Not data Is Nothing Then
            data.Clear()
            Session("busquedaEmpleado") = data
        End If
    End Sub

    Private Sub ResetRD()
        Me.RD1.Checked = False
        Me.RD2.Checked = False
        Me.RD3.Checked = False
    End Sub

    Private Sub Limpiar()
        Me.TxTApellido.Text = String.Empty
        Me.TxTnombre.Text = String.Empty
        ResetRD()
    End Sub

#End Region

#Region "Botones"

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.vaciaGrid()
        Me.buscar()
        Limpiar()
    End Sub

    Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click
        Limpiar()
    End Sub
#End Region
    
End Class
